package com.jeedcp.gen.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 *  gen_column
 */
@Data
@TableName(value="gen_column")
public class GenColumn implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private String id;

    /**
     * 表名
     */
    private String tableName;

    /**
     * 列名
     */
    private String colName;

    /**
     * 列顺序
     */
    private Integer colIndex;

    /**
     * 类型
     */
    private String colType;

    /**
     * 字段长度
     */
    private Integer colLength;

    /**
     * 小数位
     */
    private Integer decimals;

    /**
     * 非空
     */
    private Integer notnull;

    /**
     * 默认值
     */
    private String defaultValue;

    /**
     * 主键唯一
     */
    private String keyType;

    /**
     * 属性名
     */
    private String fieldName;

    /**
     * 属性标签
     */
    private String fieldLabel;

    /**
     * 扩展
     */
    private String  extensions;

    /**
     * 关联类型
     */
    private String refType;

    /**
     * 关联表
     */
    private String refTable;

    @TableField(exist = false)
    private String refClassName;

    @TableField(exist = false)
    private String refClass;

    /**
     * 关联字段
     */
    private String refColumn;

    /**
     * 显示字段
     */
    private String asColumn;

    /**
     * 表单类型
     */
    private String formType;

    /**
     * 扩展参数
     */
    private String extdata;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 是否插入字段
     */
    private Integer isInsert;

    /**
     * 是否列表字段
     */
    private Integer isList;

    /**
     * 是否查询字段
     */
    private Integer isQuery;

    /**
     * 查询方式（等于、不等于、大于、小于、范围、左like、右like、左右like）
     */
    private String queryType;


    //属性名称(第一个字母大写)，如：user_name => UserName
    @TableField(exist = false)
    private String attrName;
    //属性名称(第一个字母小写)，如：user_name => userName
    @TableField(exist = false)
    private String attr;
    //属性类型
    @TableField(exist = false)
    private String attrType;


}